package dominio;

import java.sql.Date;
import java.util.ArrayList;

import repositorio.ClienteTO;
import repositorio.MaquinaTO;

public class Sistema {
	private static Sistema instancia;
	private ArrayList<Cliente> clientes;
	private ArrayList<Maquina> maquinas;
	private ArrayList<Ejercicio> ejercicios;
	
	public static Sistema getInstancia() {
		if (instancia==null)
			instancia = new Sistema();
		return instancia;
	}
	
	private Sistema () {
		clientes = new ArrayList<Cliente>();	
		maquinas = new ArrayList<Maquina> ();
		ejercicios = new ArrayList<Ejercicio> ();
	}
	
	
	public void generarRutina (int altura, int peso, String estadoFisico, String antMed, int indiceMC, String obj, int dias)
	{
		//Metodo que genera una propuesta de rutina			
	}
	
	public Cliente buscarCliente (int nro) {
		//metodo que busca in cliente por su numero. Devuelve NULL si no existe
		Cliente clienteBuscado = null;
		int i = 0;
		while (clienteBuscado == null && clientes.size()>i) {
				if (clientes.get(i).getNroCliente()==nro)
					clienteBuscado=clientes.get(i);
				i++;
		}
		return clienteBuscado;
	}
	
	public boolean crearCliente (ClienteTO cliente) {
		//Crea un nuevo cliente en base a un clienteTO. Utiliza el metodo buscarCliente
		boolean resultado = false;
		if (this.buscarCliente(cliente.getNroCliente())==null) {
			Cliente newClient = new Cliente();
			newClient.nuevoClienteFromTO(cliente);
			resultado = true;
		}		
		return resultado;
	}
	
	public boolean agregarMaquina(Maquina maquina) {
		maquinas.add(maquina);
		return true;
	}
	
	public boolean agregarEjercicio(Ejercicio ejercicio) {
		ejercicios.add(ejercicio);
		return true;
	}
	
	

}
